home *** CD-ROM | disk | FTP | other *** search
- bbs> Msg# 79695 To: ATARI @ALLE From: DJ7YJ Date: 08Oct90/1320
- Subject: BBS-READ-GENER. in OMIKRON-B.
- Bulletin ID: 07A001DB0LX
- Path: DB0LX
- de DJ7YJ @ DB0LX
-
- Hallo Atarianer !
-
- Nachfolgend ein Listing fuer einen Checklist-Read-Generator, der vor
- einiger Zeit schon von DG9SCD fuer "DIEBOX"-Files veroeffentlicht
- worden war.
- Ich habe mir erlaubt, eine Anpassung an das BBS-Format vorzunehmen, wie es
- bei DB0IE (DL5UY) verwendet wird und gleichzeitig in Omikron-Basic
- umgeschrieben.
-
- Die Checklist-Datei muss als BBS1.TXT vorliegen.
- Die Generierte Read-Datei heisst BBS2.TXT.
-
- Die Datum-Eingabe erfolgt hier so: z.B.: 06.Okt (ohne Jahreszahl)
- Gross- und Kleinschreibung ist moeglich.
- Mit RETURN kann auch das Datum als Suchkriterium unterdrueckt werden.
-
- So, das wars.
-
-
- Listing mit "Block lesen" in den Interpreter laden.
- Kompilieren geht auch und mit CUTLIB.PRG kann das Kompilat eigenstaendig
- lauffaehig gemacht werden.
-
- Falls ein OM die Version fuer "DIEBOX" in Omikron benoetigt, moege er
- mir dies unter DJ7YJ @ DB0LX mitteilen, dann spiele ich diese auch ein.
-
- Auch die Atarianer danken dem Programmautor DG9SCD fuer die Idee !
-
-
- Text bis hierher vor Verarbeitung loeschen !
- -------------------------------------------------------------------------
-
-
-
- '...............................................................
- '(WAMPES)-Read-Generator von OM Juergen, DG9SCD
- 'Bulletin-ID: 143003DB0CZ vom 14.3.90 in der Rubrik "SOFTWARE"
- '...............................................................
- '
- 'Diese Version wurde ge{ndert f}r DL5UY-BBS-Format
- 'Beispiel:
- '30511 $ 1262 SAT DL DL2AAG 25.Sep NDS-Rundspruch 34/90
- '
- 'Kurzbeschreibung:
- '-----------------
- 'Dieses Programm ermoeglicht das Auslesen der erstellten CHECK-List-Datei
- 'mit der Moeglichkeit bestimmte Auswahlkreterien bereits vorher anzugeben.
- '
- 'Beispiel: Rubrik : ALL
- ' Call : DF9DD
- '
- ' Es werden alle Nachrichten von DF9DD zur Auswahl angeboten, die sich in
- ' Rubriken befinden, deren Name mit ALL anfaengt.
- '
- ' Geben Sie nur die Rubrik ein, werden alle Nachrichten zu Auswahl ange-
- ' boten, die sich in Rubriken befinden dir mit dem angegebenen Namen
- ' beginnen.
- '
- ' Wird kein Auswahlkriterium gesetzt, werden alle in der Checklistdatei
- ' befindlichen Saetzen zu Auswahl angeboten.
- '
- '
- 'Das Programm laest sich ohne grosse Probleme auch auf andere BASIC-Dialekte
- 'umstellen. Auch eine Erweiterung auf andere Mailboxen ist jederzeit moeglich.
- '
- 'vy 73,55 de DF9DD @ DB0OVO
- '
- '#############################################################################
- '
- -Start:
- CLS
- PRINT " READ-Generator (c) 08.03.1989 Juergen Mayer Grossheppach JN48QT"
- PRINT " Micro-V 0.05 DG9SCD @ DB0LX P37"
- PRINT "---------------------------------------------------------------------"
- PRINT " umgeschrieben in Turbo-Basic von Eckhard Schnaare DF9DD 23.04.90"
- PRINT " zur Verwendung fuer Mailboxen des Types DL5UY-BBS "
- PRINT " angepasst an Omikron-Basic von DJ7YJ am 6.10.90 "
- PRINT ""
- PRINT "Name der Eingabedatei (Check-Liste der Mailbox): "
- PRINT "Name der Ausgabedatei (Readliste fuer Mailbox): "
- PRINT ""
- PRINT ""
- PRINT "Auswahl nach Rubrik: (Name der Rubrik) "
- PRINT " Datum : (TT.Mmm--) "
- PRINT " Call : (z.B. DG9SCD) "
- PRINT ""
-
- 'init der Variablen fuer die Eingabefelder
-
- Ipdatei$=""
- Opdatei$=""
- Rubrik$=""
- Adatum$=""
- Acall$=""
- Aalle$="A"
-
-
- 'Eingabe der Werte fuer die Erstellung der Readliste
-
- 'Eingabedatei: wenn keine Angabe wird BBS1.TXT eingesetzt
-
- LOCATE 8,55
- LINE INPUT Ipdatei$
- Ipdatei$= UPPER$(Ipdatei$)
- IF LEN(Ipdatei$)>0 THEN
- IF INSTR(Ipdatei$,".")=0 THEN
- Ipdatei$=Ipdatei$+".TXT"
- ENDIF
- ELSE IF LEN(Ipdatei$)<=0 THEN Ipdatei$="BBS1.TXT"
- ENDIF
- LOCATE 8,55
- PRINT Ipdatei$
-
-
- 'Ausgabedatei: wenn keine Angabe wird BBS2.TXT eingesetzt
-
- LOCATE 9,55
- LINE INPUT Opdatei$
- Opdatei$= UPPER$(Opdatei$)
- IF LEN(Opdatei$)>0 THEN
- IF INSTR(Opdatei$,".")=0 THEN
- Opdatei$=Opdatei$+".TXT"
- ENDIF
- ELSE IF LEN(Opdatei$)<=0 THEN Opdatei$="BBS2.TXT"
- ENDIF
- LOCATE 9,55
- PRINT Opdatei$
-
-
- 'Eingabe fuer die Rubrik - wird nur ein Teil des Namens angegeben, so
- ' werden alle Rubriken die mit dem Kuerzel
- ' fangen angezeigt.
-
- -Rubrik:
- LOCATE 12,35
- LINE INPUT Rubrik$
- Rubrik$= UPPER$(Rubrik$)
-
- -Adatum:
- LOCATE 13,35
- LINE INPUT Adatum$
- Adatum$= UPPER$(Adatum$)
- LOCATE 23,1
- PRINT SPACE$(79);
- IF LEN(Adatum$)>0 THEN
- IF VAL( MID$(Adatum$,1,2))<1 OR VAL( MID$(Adatum$,1,2))>31 THEN
- LOCATE 23,1: PRINT "Fehler bei der Datumseingabe!";: GOTO Adatum
- ENDIF
- Monat$= UPPER$( MID$(Adatum$,4,3))
- Jahr$="JANFEBMARAPRMAIJUNJULAUGSEPOKTNOVDEZ"
- IF INSTR(Jahr$,Monat$)=0 THEN
- LOCATE 23,1: PRINT "Fehler bei der Datumseingabe!";: GOTO Adatum
- ENDIF
- IF MID$(Adatum$,3,1)<>"." THEN
- LOCATE 23,1: PRINT "Fehler bei der Datumseingabe!";: GOTO Adatum
- ENDIF
- ENDIF
-
- -Acall:
- LOCATE 14,35
- LINE INPUT Acall$
- Acall$= UPPER$(Acall$)
-
- -Aalle:
-
- IF LEN(Rubrik$)=0 AND LEN(Acall$)=0 AND LEN(Adatum$)=0
- THEN Aalle$="A"
- ELSE
- IF LEN(Rubrik$)<>0 OR LEN(Acall$)<>0 OR LEN(Adatum$)<>0 THEN Aalle$=""
- ENDIF
-
- -Okfrage:
- LOCATE 19,1
- PRINT "Alle Eingaben OK? J/N: "
- LOCATE 19,28
- LINE INPUT Antwort$
- Antwort$= UPPER$(Antwort$)
- IF Antwort$="N" THEN GOTO Start
- IF Antwort$<>"J" THEN GOTO Okfrage
- LOCATE 19,1
- PRINT SPACE$(79);
-
- LOCATE 16,1
- PRINT "======================================================================"
- LOCATE 19,1
- PRINT "======================================================================"
- Zeile1$=""
- Zeile2$=""
-
- '**********************************************************
- '********** Open der Ein/Ausgabedateien ******************
-
- OPEN "I",1,Ipdatei$
- OPEN "O",2,Opdatei$
-
- '**********************************************************
- '********** Lesen der Checklistdatei ******************
-
- -Lesen:
- IF EOF(1) THEN GOTO Ende
- INPUT #1,Ein$'Satz lesen
- IF VAL( MID$(Ein$,1,4))<1 THEN GOTO Lesen'ist in spalte 1-4 eine Zahl > 0
- IF LEN(Ein$)<27 THEN GOTO Lesen'ist die laenge des satzes < 27
-
- -Auffuellen:'satz auf 80 stellen auffuellen
- IF LEN(Ein$)<80
- THEN Ein$=Ein$+"."
- ELSE
- IF LEN(Ein$)>=80 THEN GOTO Auswahl
- ENDIF
- GOTO Auffuellen
-
- '**********************************************************
- '********** Pruefen der Checklistdatei mit Auswahl ******
-
- -Auswahl:
- IF Aalle$="A" THEN GOTO Bearbeiten
-
- IF LEN(Rubrik$)>0 THEN 'pruefen ob Rubrik uebereinstimmt
- IF UPPER$( MID$(Ein$,15, LEN(Rubrik$)+1))<>Rubrik$+" " THEN
- GOTO Lesen
- ENDIF
- ENDIF
-
- IF LEN(Adatum$)>0 THEN 'pruefen ob Datum uebereinstimmt
- IF MID$(( UPPER$(Ein$)),42,6)<>Adatum$ THEN
- GOTO Lesen
- ENDIF
- ENDIF
-
- IF LEN(Acall$)>0 THEN 'pruefen ob call uebereinstimmt
- IF UPPER$( MID$(Ein$,33, LEN(Acall$)))<>Acall$ THEN
- GOTO Lesen
- ENDIF
- ENDIF
-
-
- -Bearbeiten:
- LOCATE 20,1
- Zeile$= MID$(Ein$,1,5)+" "+ MID$(Ein$,15,8)+" "+ MID$(Ein$,33,7)+" "+ MID$(( UPPER$(Ein$)),42,6)+" "+ MID$(Ein$,49,30)
- PRINT Zeile$;
- LOCATE 22,1
- PRINT "In READ-Liste uebernehmen <J/N>, Abbruch <A>";
- -Warten:
- Antwort$= UPPER$( INPUT$(1))
- IF Antwort$="J" THEN
- LOCATE 22,1
- PRINT " "
- GOTO Ausgabe
- ENDIF
- IF Antwort$="N" THEN GOTO Lesen
- IF Antwort$="A" THEN GOTO Ende
- GOTO Warten
-
- -Ende:
- CLOSE
- LOCATE 23,1
- IF Antwort$="A"
- THEN PRINT "*** Programmabbruch ***";
- ELSE
- IF Antwort$<>"A" THEN PRINT "*** Programmende ***";
- ENDIF
-
- STOP
-
-
- -Ausgabe:
- FOR I%L=15 TO 20
- IF MID$(Ein$,I%L,1)="." THEN MID$ (Ein$,I%L,1)=" "
-
- NEXT I%L
- FOR I%L=1 TO 5
- IF MID$(Ein$,I%L,1)=" " THEN MID$ (Ein$,I%L,1)="0"
-
- IF MID$(Ein$,I%L,1)<"0" AND MID$(Ein$,I%L,1)>"9" THEN GOTO Lesen
-
- NEXT I%L
- Aus$="r "+ MID$(Ein$,1,5)
- PRINT #2,Aus$
- Anzahl%L=Anzahl%L+1
- LOCATE 22,55
- PRINT "Anz.ausgew.Saetze: "; STR$(Anzahl%L)
- Zeile1$=Zeile2$
- Zeile2$=Zeile$
- LOCATE 17,1
- PRINT Zeile1$
- PRINT Zeile2$
- PRINT "======================================================================"
- LOCATE 20,1
- PRINT SPACE$(79);
- GOTO Lesen
-
-